package com.webcamtracker.tracker.model;

import com.webcamtracker.image.grid.ImageGrid;
import com.webcamtracker.utils.Hits;

import java.awt.*;


public interface TrackerModel {

    void add(ModelElement element);

    int getWidth();

    int getHeight();

    int getX();

    int getY();

    int getMaxX();

    int getMaxY();

    int getCenterX();

    int getCenterY();

    Hits getHits();

    double getWidthInCell(ImageGrid grid);

    double getHeightInCell(ImageGrid grid);

    int getMaxCellY(ImageGrid grid);

    int getMinCellX(ImageGrid grid);

    int getMinCellY(ImageGrid grid);

    int getMaxCellX(ImageGrid grid);

    boolean contains(TrackerModel model);

    boolean contains(int x, int y);

    void paint(Graphics g);

    void setHits(Hits hits);

    float getZoomRatio(TrackerModel model);

    void setName(String name);

    String getName();

}
